home *** CD-ROM | disk | FTP | other *** search
- /*\
- * $VER: CmdShell.dk 1.0 (19-10-94)
- *
- * Commandshell for DisKey
- *
- * Copyright © 1994 by Angela Schmidt
- *
- * History:
- * ========
- * 19-10-94: Initial release!
- *
- \*/
-
- OPTIONS RESULTS
- OPTIONS FAILAT 100
- OPTIONS PROMPT "REXX> "
- TRACE ''
-
- SAY 'Enter commands - enter QUIT to close this window, HELP for help.'
-
- DO FOREVER
- PARSE PULL rxcmd
- SELECT
- WHEN (rxcmd = "") | (UPPER(rxcmd) = "END") | (UPPER(rxcmd) = "EXIT") | (UPPER(rxcmd) = "ENDCLI") | (UPPER(rxcmd) = "BYE") | (UPPER(rxcmd) = "CLOSE") | (UPPER(rxcmd) = "QUIT") THEN DO
- CMDSHELL CLOSE
- LEAVE
- END
-
- WHEN (rxcmd = "?") | (UPPER(rxcmd) = "HELP") | (UPPER(rxcmd) = "H") THEN DO
- SAY 'Enter "HELP <command>" to obtain a command''s template.'
- SAY 'Enter "COMMANDS" to obtain all available commands.'
- SAY 'Enter QUIT to close this window.'
- END;
-
- WHEN (UPPER(rxcmd) = "COMMANDS") THEN DO
- CALL ExecuteRexxCmd(HELP)
- END
-
- OTHERWISE DO
- CALL ExecuteRexxCmd(rxcmd)
- END;
-
- END
- END
- RETURN
-
-
- ExecuteRexxCmd: PROCEDURE
- PARSE ARG rxcmd
-
- rxcmd
-
- IF RC = 0 THEN DO
- IF symbol('RESULT') == "VAR" THEN DO
- SAY RESULT
- END
- RETURN
- END;
- ELSE DO
- IF LASTERRORNUMBER = 15 THEN DO /* function not found */
- ADDRESS COMMAND rxcmd
- END;
- ELSE DO
- IF symbol('LASTERRORNUMBER') == "VAR" THEN DO
- SAY 'Command «'||rxcmd||'» returned '||RC||'; errormessage: '||errortext(LASTERRORNUMBER)
- END;
- ELSE DO
- SAY 'Command '||rxcmd||' returned '||RC
- END;
- END;
- END;
- RETURN
-